package com.pactera.asmp.server.service;

import com.pactera.asmp.server.entity.MasterComputerDTO;
import com.pactera.asmp.server.entity.MasterComputerSearchDTO;
import com.pactera.asmp.server.entity.ProjectMasterDeviceVo;
import com.pactera.asmp.server.entity.ResponseResult;
import com.pactera.asmp.server.pojo.MasterComputer;
import com.pactera.asmp.server.utils.PageDataResult;
import com.pactera.asmp.server.vo.QueryMasterListCondition;
import com.pactera.asmp.server.vo.QueryPMDByCondResponse;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * @ProjectName: asmp-server
 * @Package com.pactera.asmp.server.service
 * @ClassName: IMasterComputerServcie
 * @Description: IMasterComputerServcie
 * @Date 2020/06/28 16:49
 * @Author lvzhiqiang
 * @Version 1.0
 */
public interface IMasterComputerServcie {

    boolean insert(MasterComputerDTO masterComputerDTO);

    boolean delete(Integer id);

    boolean delete(List<Integer> datas);

    boolean update(MasterComputer masterComputer);
    boolean updateRegister(MasterComputerDTO masterComputer);

    MasterComputer get(Integer id);

    PageDataResult get(MasterComputerSearchDTO deviceInfoSearchDTO, int page, int limit);

    boolean updateStatus(Integer id, Integer status);

    MasterComputer selectIdByCuid(String cuid, String mac);

    ResponseResult registerMasterComputer(MasterComputerDTO masterComputerDTO);

    ResponseResult<List<MasterComputer>> getMastercList();

    int updateNickName(MasterComputer masterComputer);

    ResponseResult<List<MasterComputer>> getMastercListByProjectId(Integer projectId);

    List<ProjectMasterDeviceVo> mastercBindByProjectId(Integer projectId);

    List<ProjectMasterDeviceVo> listBindByProjectId(Integer projectId, Integer masterComputerId);

    QueryPMDByCondResponse listBindByCondition(QueryMasterListCondition condition);

    QueryPMDByCondResponse mastercBindByCondition(QueryMasterListCondition condition);
}
